www.gusucode.com > Piwik 网站流量统计系统 v2.9.1PHP源码程序 > Piwik 网站流量统计系统 v2.9.1/How to install Piwik.html/piwik/plugins/UserSettings/Visitor.php

    <?php
/**
 * Piwik - free/libre analytics platform
 *
 * @link http://piwik.org
 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
 *
 */
namespace Piwik\Plugins\UserSettings;

require_once PIWIK_INCLUDE_PATH . '/plugins/UserSettings/functions.php';

class Visitor
{
    const DELIMITER_PLUGIN_NAME = ", ";

    private $details = array();

    public function __construct($details)
    {
        $this->details = $details;
    }

    function getPlugins()
    {
        $plugins = array(
            'config_pdf',
            'config_flash',
            'config_java',
            'config_director',
            'config_quicktime',
            'config_realplayer',
            'config_windowsmedia',
            'config_gears',
            'config_silverlight',
        );
        $pluginShortNames = array();

        foreach ($plugins as $plugin) {
            if (array_key_exists($plugin, $this->details) && $this->details[$plugin] == 1) {
                $pluginShortName    = substr($plugin, 7);
                $pluginShortNames[] = $pluginShortName;
            }
        }

        return implode(self::DELIMITER_PLUGIN_NAME, $pluginShortNames);
    }

    function getPluginIcons()
    {
        $pluginNames = $this->getPlugins();
        if (!empty($pluginNames)) {
            $pluginNames = explode(self::DELIMITER_PLUGIN_NAME, $pluginNames);
            $pluginIcons = array();

            foreach ($pluginNames as $plugin) {
                $pluginIcons[] = array("pluginIcon" => getPluginsLogo($plugin), "pluginName" => $plugin);
            }

            return $pluginIcons;
        }

        return null;
    }

    function getOperatingSystemCode()
    {
        return $this->details['config_os'];
    }

    function getOperatingSystem()
    {
        return getOSLabel($this->details['config_os']);
    }

    function getOperatingSystemShortName()
    {
        return getOSShortLabel($this->details['config_os']);
    }

    function getOperatingSystemIcon()
    {
        return getOSLogo($this->details['config_os']);
    }

    function getBrowserCode()
    {
        return $this->details['config_browser_name'];
    }

    function getBrowserVersion()
    {
        return $this->details['config_browser_version'];
    }

    function getBrowser()
    {
        return getBrowserLabel($this->details['config_browser_name'] . ";" . $this->details['config_browser_version']);
    }

    function getBrowserIcon()
    {
        return getBrowsersLogo($this->details['config_browser_name'] . ";" . $this->details['config_browser_version']);
    }

    function getScreenType()
    {
        if (!array_key_exists('config_resolution', $this->details)) {
            return null;
        }

        return getScreenTypeFromResolution($this->details['config_resolution']);
    }

    function getResolution()
    {
        if (!array_key_exists('config_resolution', $this->details)) {
            return null;
        }

        return $this->details['config_resolution'];
    }

    function getScreenTypeIcon()
    {
        $type = $this->getScreenType();

        if (empty($type)) {
            return null;
        }

        return getScreensLogo($type);
    }

}